package com.znsd.zl.house.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.znsd.zl.house.entity.HouseEntity;
import com.znsd.zl.house.entity.vo.HouseRespVO;
import com.znsd.zl.utils.PageUtils;
import com.znsd.zl.utils.R;

import java.util.List;
import java.util.Map;

/**
 * @ClassName IHouseService
 * @Description 描述
 * @author zhubin
 * @date 2020-08-19 22:54:37
 * @Version v1.0
 */
public interface IHouseService extends IService<HouseEntity> {
	/**
	 * 条件查询分页
	 * @param house 封装条件查询数据
	 * @param startNum 开始数量
	 * @param size      数量
	 * @return  封装查询对象
	 */
	PageUtils conditionQueryPage(HouseRespVO house, Integer startNum, Integer size);

	/**
	 * 根据一个用户ID查询用户的所有房屋
	 * @param userId ：要查询的用户ID
	 * @param page：分页开始
	 * @param limit：分页个数
	 * @return 返回的是封装的结果集对象
	 */
	PageUtils findByUserId(Integer userId, Integer page, Integer limit);

	/**
	 * 条件查询获取所有总数
	 * @param house 封装条件查询数据
	 * @return  查询到的行数
	 */
	Integer conditionQueryTotal(HouseRespVO house);


	/**
	 * 将房源的数据添加的审核表中进行审核
	 * @param houseId：要审核的房源ID
	 * @return integer ： 1成功 0失败
	 */
	Integer saveAudit(Integer houseId);

	/**
	 * 查询一个房源的状态
	 * @param houseId：房源ID
	 * @return map：返回结果封装map集合对象
	 */
	Map<String,Object> findHouseStatus(Integer houseId);

	/**
	 * 删除和批量逻辑删除
	 * @param idList  id
	 */
	void deleteBatch( List<Integer> idList);
}

